---
title: 消息对象
hide_title: true
sidebar_position: 1
---

消息对象 `Message` 是 SDK 封装通用消息对象，Message 更像是一个父类， **Message.content** 是具体的子类，例如：`文本消息`、`图片消息` 等

![](../assets/msg-web/msg.png)

<Tabs
groupId="sdks-language"
values={[
{ label: 'Android', value: 'andorid', },
{ label: 'iOS', value: 'ios', },
{ label: 'JavaScript', value: 'js', }
]
}>
<TabItem value="andorid">

| 属性名       | 类型              | 说明                                                         | 版本  |
| ------------ | ----------------- | ------------------------------------------------------------ | ----- |
| conversation | Conversation     | 消息所属会话                                                 | 1.0.0 |
| contentType  | String          | 消息类型（文本消息、图片消息等）                             | 1.0.0 |
| content      | MessageContent   | 消息内容，内容与 messageType 属性相关，例如：name 为 `jg:text` 时，content 是 [文本消息](./text) | 1.0.0 |
| messageId    | String          | 消息 Id，区分每条的标识，全局唯一                            | 1.0.0 |
| clientMsgNo  | long         | 本端消息唯一编号（对应本地数据库唯一 id）                    | 1.0.0 |
| direction    | MessageDirection | 消息方向，用于标识“接收的消息 or 发送的消息”                 | 1.0.0 |
| messageState | MessageState     | 消息状态，用于标识“发送中 or 发送成功 or 发送失败”           | 1.0.0 |
| hasRead      | boolean              | 消息是否已读                                                 | 1.0.0 |
| timestamp    | long         | 消息的发送时间，格式为时间戳精确到毫秒（服务端时间）         | 1.0.0 |
| senderUserId | String          | 消息发送者的 userId                                          | 1.0.0 |

</TabItem>
<TabItem value="ios">

| 属性名       | 类型              | 说明                                                         | 版本  |
| ------------ | ----------------- | ------------------------------------------------------------ | ----- |
| conversation | JConversation     | 消息所属会话                                                 | 1.0.0 |
| contentType  | NSString          | 消息类型（文本消息、图片消息等）                             | 1.0.0 |
| content      | JMessageContent   | 消息内容，内容与 messageType 属性相关，例如：name 为 `jg:text` 时，content 是 [文本消息](./text) | 1.0.0 |
| messageId    | NSString          | 消息 Id，区分每条的标识，全局唯一                            | 1.0.0 |
| clientMsgNo  | long long         | 本端消息唯一编号（对应本地数据库唯一 id）                    | 1.0.0 |
| direction    | JMessageDirection | 消息方向，用于标识“接收的消息 or 发送的消息”                 | 1.0.0 |
| messageState | JMessageState     | 消息状态，用于标识“发送中 or 发送成功 or 发送失败”           | 1.0.0 |
| hasRead      | BOOL              | 消息是否已读                                                 | 1.0.0 |
| timestamp    | long long         | 消息的发送时间，格式为时间戳精确到毫秒（服务端时间）         | 1.0.0 |
| senderUserId | NSString          | 消息发送者的 userId                                          | 1.0.0 |
</TabItem>
<TabItem value="js">

| 属性名           | 类型      | 说明                                                | 版本     |
|------------------|-----------|-----------------------------------------------------|----------|
| conversationType | Number    | 会话类型                                             | 1.0.0    |
| conversationId   | String    | 会话 Id，conversationType 是 PRIVATE 时，conversationId 是接收方的 userId，GROUP 时是群组 Id | 1.0.0    |
| name             | String    | 消息名称，收发后消息可以根据 name 进行 UI 展示       | 1.0.0    |
| content          | Object    | 消息内容，内容与 name 属性相关，例如：name 为 `jg:text` 时，content 是 [文本消息](./text) | 1.0.0    |
| messageId        | String    | 消息 Id, 区分每条的标识，全局唯一              | 1.0.0    |
| isSender         | Boolean   | 本条消息自己是否为发送方，例如用于 UI 展示消息布局，自己发送的在右，接收的消息在左 | 1.0.0    |
| isUpdated        | Boolean   | 消息是否被修改过                                    | 1.0.0    |
| isRead         | Boolean   | 消息接收方是否看了本条消息                          | 1.0.0    |
| sentTime         | Number    | 消息的发送时间，格式为时间戳精确到毫秒，可用于 UI 展示每条消息的发送时间 | 1.0.0    |
| sender           | Object    | 消息发送者信息                                     | 1.0.0    |
| sender.id        | String    | 消息发送者的 Id，修改请用 API 更新                  | 1.0.0    |
| sender.name      | String    | 消息发送者名称，修改请用 API 更新                  | 1.0.0    |
| sender.portrait  | String    | 消息发送者头像，修改请用 API 更新                   | 1.0.0    |
| sender.exts      | Object    | 用户扩展字段，修改请用 API 更新                    | 1.0.0    |

</TabItem>
</Tabs>